]> shimmer.witbreuk.eu Git - UltimateKEYS.git/blobdiff - autohotkey/UltimateKEYS (for AutoHotkey v2).ahk
Add files via upload
[UltimateKEYS.git] / autohotkey / UltimateKEYS (for AutoHotkey v2).ahk
index 44326a56d73150ff5bf3786aeececc38f44e893c..24eaf09be05bb63e18fc986c68ad10ea2651289c 100644 (file)
@@ -1,6 +1,6 @@
 #requires AutoHotkey v2
 
 #requires AutoHotkey v2
 
-; UltimateKEYS (for AutoHotkey v2).ahk - 2023-07-15
+; UltimateKEYS (for AutoHotkey v2).ahk - 2023-12-28
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
 
 ; Website :  www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
 
@@ -70,7 +70,6 @@ cmpAcuteAccent["y"] := "{u+00fd}"  ; (ý) y with acute
 cmpAcuteAccent["Y"] := "{u+00dd}"  ; (Ý) Y with acute
 cmpAcuteAccent["z"] := "{u+017a}"  ; (ź) z with acute
 cmpAcuteAccent["Z"] := "{u+0179}"  ; (Ź) Z with acute
 cmpAcuteAccent["Y"] := "{u+00dd}"  ; (Ý) Y with acute
 cmpAcuteAccent["z"] := "{u+017a}"  ; (ź) z with acute
 cmpAcuteAccent["Z"] := "{u+0179}"  ; (Ź) Z with acute
-cmpAcuteAccent[" "] := "{u+00b4}"  ; (´) acute accent
 
 
 ; Compose :  Grave Accent (`)
 
 
 ; Compose :  Grave Accent (`)
@@ -92,7 +91,6 @@ cmpGraveAccent["w"] := "{u+1e81}"  ; (ẁ) w with grave
 cmpGraveAccent["W"] := "{u+1e80}"  ; (Ẁ) W with grave
 cmpGraveAccent["y"] := "{u+1ef3}"  ; (ỳ) y with grave
 cmpGraveAccent["Y"] := "{u+1ef2}"  ; (Ỳ) Y with grave
 cmpGraveAccent["W"] := "{u+1e80}"  ; (Ẁ) W with grave
 cmpGraveAccent["y"] := "{u+1ef3}"  ; (ỳ) y with grave
 cmpGraveAccent["Y"] := "{u+1ef2}"  ; (Ỳ) Y with grave
-cmpGraveAccent[" "] := "{u+02cb}"  ; (ˋ) grave accent (modifier)
 
 
 ; Compose :  Diaeresis (")
 
 
 ; Compose :  Diaeresis (")
@@ -117,7 +115,6 @@ cmpDiaeresis["x"] := "{u+1e8d}"  ; (ẍ) x with diaeresis
 cmpDiaeresis["X"] := "{u+1e8c}"  ; (Ẍ) X with diaeresis
 cmpDiaeresis["y"] := "{u+00ff}"  ; (ÿ) y with diaeresis
 cmpDiaeresis["Y"] := "{u+0178}"  ; (Ÿ) Y with diaeresis
 cmpDiaeresis["X"] := "{u+1e8c}"  ; (Ẍ) X with diaeresis
 cmpDiaeresis["y"] := "{u+00ff}"  ; (ÿ) y with diaeresis
 cmpDiaeresis["Y"] := "{u+0178}"  ; (Ÿ) Y with diaeresis
-cmpDiaeresis[" "] := "{u+00a8}"  ; (¨) diaeresis
 
 
 ; Compose :  Circumflex Accent (c)
 
 
 ; Compose :  Circumflex Accent (c)
@@ -149,7 +146,6 @@ cmpCircumflex["y"] := "{u+0177}"  ; (ŷ) y with circumflex
 cmpCircumflex["Y"] := "{u+0176}"  ; (Ŷ) Y with circumflex
 cmpCircumflex["z"] := "{u+1e91}"  ; (ẑ) z with circumflex
 cmpCircumflex["Z"] := "{u+1e90}"  ; (Ẑ) Z with circumflex
 cmpCircumflex["Y"] := "{u+0176}"  ; (Ŷ) Y with circumflex
 cmpCircumflex["z"] := "{u+1e91}"  ; (ẑ) z with circumflex
 cmpCircumflex["Z"] := "{u+1e90}"  ; (Ẑ) Z with circumflex
-cmpCircumflex[" "] := "{u+02c6}"  ; (ˆ) circumflex accent (modifier)
 
 
 ; Compose :  Tilde (~)
 
 
 ; Compose :  Tilde (~)
@@ -173,7 +169,6 @@ cmpTilde["v"] := "{u+1e7d}"  ; (ṽ) v with tilde
 cmpTilde["V"] := "{u+1e7c}"  ; (Ṽ) V with tilde
 cmpTilde["y"] := "{u+1ef9}"  ; (ỹ) y with tilde
 cmpTilde["Y"] := "{u+1ef8}"  ; (Ỹ) Y with tilde
 cmpTilde["V"] := "{u+1e7c}"  ; (Ṽ) V with tilde
 cmpTilde["y"] := "{u+1ef9}"  ; (ỹ) y with tilde
 cmpTilde["Y"] := "{u+1ef8}"  ; (Ỹ) Y with tilde
-cmpTilde[" "] := "{u+02dc}"  ; (˜) small tilde
 
 
 ; Compose :  Cedilla and Ogonek (,)
 
 
 ; Compose :  Cedilla and Ogonek (,)
@@ -211,8 +206,6 @@ cmpCedillaOgonek["t"] := "{u+0163}"  ; (ţ) t with cedilla
 cmpCedillaOgonek["T"] := "{u+0162}"  ; (Ţ) T with cedilla
 cmpCedillaOgonek["u"] := "{u+0173}"  ; (ų) u with ogonek
 cmpCedillaOgonek["U"] := "{u+0172}"  ; (Ų) U with ogonek
 cmpCedillaOgonek["T"] := "{u+0162}"  ; (Ţ) T with cedilla
 cmpCedillaOgonek["u"] := "{u+0173}"  ; (ų) u with ogonek
 cmpCedillaOgonek["U"] := "{u+0172}"  ; (Ų) U with ogonek
-cmpCedillaOgonek["."] := "{u+02db}"  ; (˛) ogonek
-cmpCedillaOgonek[" "] := "{u+00b8}"  ; (¸) cedilla
 
 
 ; Compose :  Caron (v)
 
 
 ; Compose :  Caron (v)
@@ -253,7 +246,6 @@ cmpCaron["z"] := "{u+017e}"  ; (ž) z with caron
 cmpCaron["Z"] := "{u+017d}"  ; (Ž) Z with caron
 cmpCaron["3"] := "{u+01ef}"  ; (ǯ) small letter ezh with caron
 cmpCaron["#"] := "{u+01ee}"  ; (Ǯ) capital letter ezh with caron
 cmpCaron["Z"] := "{u+017d}"  ; (Ž) Z with caron
 cmpCaron["3"] := "{u+01ef}"  ; (ǯ) small letter ezh with caron
 cmpCaron["#"] := "{u+01ee}"  ; (Ǯ) capital letter ezh with caron
-cmpCaron[" "] := "{u+02c7}"  ; (ˇ) caron
 
 
 ; Compose :  Dot Above (.)
 
 
 ; Compose :  Dot Above (.)
@@ -355,7 +347,6 @@ cmpMacronStroke["y"] := "{u+0233}"  ; (ȳ) y with macron
 cmpMacronStroke["Y"] := "{u+0232}"  ; (Ȳ) Y with macron
 cmpMacronStroke["z"] := "{u+01b6}"  ; (ƶ) z with stroke
 cmpMacronStroke["Z"] := "{u+01b5}"  ; (Ƶ) Z with stroke
 cmpMacronStroke["Y"] := "{u+0232}"  ; (Ȳ) Y with macron
 cmpMacronStroke["z"] := "{u+01b6}"  ; (ƶ) z with stroke
 cmpMacronStroke["Z"] := "{u+01b5}"  ; (Ƶ) Z with stroke
-cmpMacronStroke[" "] := "{u+00af}"  ; (¯) macron
 
 
 ; Compose :  Macron and Stroke (additional) (_)
 
 
 ; Compose :  Macron and Stroke (additional) (_)
@@ -435,7 +426,6 @@ cmpBreveSpecial["y"] := "{u+021d}"  ; (ȝ) small letter yogh
 cmpBreveSpecial["Y"] := "{u+021c}"  ; (Ȝ) capital letter yogh
 cmpBreveSpecial["3"] := "{u+0292}"  ; (ʒ) small letter ezh
 cmpBreveSpecial["#"] := "{u+01b7}"  ; (Ʒ) capital letter ezh
 cmpBreveSpecial["Y"] := "{u+021c}"  ; (Ȝ) capital letter yogh
 cmpBreveSpecial["3"] := "{u+0292}"  ; (ʒ) small letter ezh
 cmpBreveSpecial["#"] := "{u+01b7}"  ; (Ʒ) capital letter ezh
-cmpBreveSpecial[" "] := "{u+02d8}"  ; (˘) breve
 
 
 ; Compose :  Double Acute Accent (=)
 
 
 ; Compose :  Double Acute Accent (=)
@@ -445,7 +435,6 @@ cmpDoubleAcute["o"] := "{u+0151}"  ; (ő) o with double acute
 cmpDoubleAcute["O"] := "{u+0150}"  ; (Ő) O with double acute
 cmpDoubleAcute["u"] := "{u+0171}"  ; (ű) u with double acute
 cmpDoubleAcute["U"] := "{u+0170}"  ; (Ű) U with double acute
 cmpDoubleAcute["O"] := "{u+0150}"  ; (Ő) O with double acute
 cmpDoubleAcute["u"] := "{u+0171}"  ; (ű) u with double acute
 cmpDoubleAcute["U"] := "{u+0170}"  ; (Ű) U with double acute
-cmpDoubleAcute[" "] := "{u+02dd}"  ; (˝) double acute accent
 
 
 ; Compose :  Hook and Horn (h)
 
 
 ; Compose :  Hook and Horn (h)
@@ -510,8 +499,6 @@ cmpSmallF["r"] := "{u+027e}"  ; (ɾ) r with fishhook
 cmpSmallF["t"] := "{u+0288}"  ; (ʈ) t with retroflex hook
 cmpSmallF["T"] := "{u+01ae}"  ; (Ʈ) T with retroflex hook
 cmpSmallF["v"] := "{u+2c71}"  ; (ⱱ) v with right hook
 cmpSmallF["t"] := "{u+0288}"  ; (ʈ) t with retroflex hook
 cmpSmallF["T"] := "{u+01ae}"  ; (Ʈ) T with retroflex hook
 cmpSmallF["v"] := "{u+2c71}"  ; (ⱱ) v with right hook
-cmpSmallF["w"] := "{u+2c73}"  ; (ⱳ) w with right hook
-cmpSmallF["W"] := "{u+2c72}"  ; (Ⱳ) W with right hook
 cmpSmallF["z"] := "{u+0290}"  ; (ʐ) z with retroflex hook
 
 
 cmpSmallF["z"] := "{u+0290}"  ; (ʐ) z with retroflex hook
 
 
@@ -627,7 +614,6 @@ cmpCurrency["W"] := "{u+20a9}"  ; (₩) South Korean won
 cmpCurrency["x"] := "{u+00a4}"  ; (¤) currency sign
 cmpCurrency["y"] := "{u+00a5}"  ; (¥) yen sign
 cmpCurrency["Y"] := "{u+00a5}"  ; (¥) yen sign
 cmpCurrency["x"] := "{u+00a4}"  ; (¤) currency sign
 cmpCurrency["y"] := "{u+00a5}"  ; (¥) yen sign
 cmpCurrency["Y"] := "{u+00a5}"  ; (¥) yen sign
-cmpCurrency[" "] := "{u+00a4}"  ; (¤) currency sign
 
 
 ; Compose :  Greek Alphabet (g)
 
 
 ; Compose :  Greek Alphabet (g)
@@ -768,8 +754,8 @@ cmpSpace["8"] := "{u+200a}"  ; hair space
 cmpSpace["9"] := "{u+2007}"  ; figure space
 cmpSpace["0"] := "{u+200b}"  ; zero-width space (ZWSP)
 cmpSpace["m"] := "{u+205f}"  ; medium mathematical space (MMSP)
 cmpSpace["9"] := "{u+2007}"  ; figure space
 cmpSpace["0"] := "{u+200b}"  ; zero-width space (ZWSP)
 cmpSpace["m"] := "{u+205f}"  ; medium mathematical space (MMSP)
+cmpSpace["n"] := "{u+202f}"  ; narrow no-break space (NNBSP)
 cmpSpace[" "] := "{u+00a0}"  ; non-breaking space (NBSP)
 cmpSpace[" "] := "{u+00a0}"  ; non-breaking space (NBSP)
-cmpSpace["."] := "{u+202f}"  ; narrow no-break space (NNBSP)
 cmpMacronStroke["2"] := "{u+2013}"  ; (–) en dash
 cmpMacronStroke["3"] := "{u+2014}"  ; (—) em dash
 cmpMacronStroke["4"] := "{u+2015}"  ; (―) horizontal bar
 cmpMacronStroke["2"] := "{u+2013}"  ; (–) en dash
 cmpMacronStroke["3"] := "{u+2014}"  ; (—) em dash
 cmpMacronStroke["4"] := "{u+2015}"  ; (―) horizontal bar
@@ -781,7 +767,7 @@ cmpQuad["2"] := "{u+2000}"  ; en quad
 cmpQuad["3"] := "{u+2001}"  ; em quad
 
 
 cmpQuad["3"] := "{u+2001}"  ; em quad
 
 
-; Compose :  Arrows and Pointers
+; Compose :  Arrows and Pointing Triangles
 
 global cmpArrow := Map()
 cmpArrow["w"] := "{u+25b2}"  ; (▲) black up-pointing triangle
 
 global cmpArrow := Map()
 cmpArrow["w"] := "{u+25b2}"  ; (▲) black up-pointing triangle
@@ -939,7 +925,6 @@ cmpCapitalT["H"] := "{u+00de}"   ; (Þ) capital letter thorn
 
 global cmpDigitEight := Map()
 global cmpCapitalP := Map()
 
 global cmpDigitEight := Map()
 global cmpCapitalP := Map()
-global cmpSemicolon := Map()
 global cmpAsterisk := Map()
 global cmpExclam := Map()
 global cmpQuestion := Map()
 global cmpAsterisk := Map()
 global cmpExclam := Map()
 global cmpQuestion := Map()
@@ -964,14 +949,6 @@ cmpSmallR["4"] := "{u+221c}"        ; (∜) fourth root
 cmpSymbols["o"] := "{u+00a7}"       ; (§) section sign
 cmpCapitalS["o"] := "{u+00a7}"      ; (§) section sign
 cmpSmallT["m"] := "{u+2122}"        ; (™) trademark symbol
 cmpSymbols["o"] := "{u+00a7}"       ; (§) section sign
 cmpCapitalS["o"] := "{u+00a7}"      ; (§) section sign
 cmpSmallT["m"] := "{u+2122}"        ; (™) trademark symbol
-cmpSemicolon["b"] := "{u+2022}"     ; (•) bullet
-cmpSemicolon[";"] := "{u+2022}"     ; (•) bullet
-cmpSemicolon["t"] := "{u+2023}"     ; (‣) triangular bullet
-cmpSemicolon[">"] := "{u+2023}"     ; (‣) triangular bullet
-cmpSemicolon["h"] := "{u+2043}"     ; (⁃) hyphen bullet
-cmpSemicolon["-"] := "{u+2043}"     ; (⁃) hyphen bullet
-cmpSemicolon["w"] := "{u+25e6}"     ; (◦) white bullet
-cmpSemicolon["o"] := "{u+25e6}"     ; (◦) white bullet
 cmpAcuteAccent["1"] := "{u+2032}"   ; (′) prime
 cmpAcuteAccent["2"] := "{u+2033}"   ; (″) double prime
 cmpAcuteAccent["3"] := "{u+2034}"   ; (‴) triple prime
 cmpAcuteAccent["1"] := "{u+2032}"   ; (′) prime
 cmpAcuteAccent["2"] := "{u+2033}"   ; (″) double prime
 cmpAcuteAccent["3"] := "{u+2034}"   ; (‴) triple prime
@@ -981,7 +958,6 @@ cmpStroke["/"] := "{u+00f7}"        ; (÷) division sign
 cmpAsterisk["o"] := "{u+00b0}"      ; (°) degree sign
 cmpRingAbove["*"] := "{u+00b0}"     ; (°) degree sign
 cmpDotAbove["."] := "{u+00b7}"      ; (·) middle dot
 cmpAsterisk["o"] := "{u+00b0}"      ; (°) degree sign
 cmpRingAbove["*"] := "{u+00b0}"     ; (°) degree sign
 cmpDotAbove["."] := "{u+00b7}"      ; (·) middle dot
-cmpDotAbove[" "] := "{u+00b7}"      ; (·) middle dot
 cmpDotAbove["3"] := "{u+2026}"      ; (…) horizontal ellipsis
 cmpArrow["-"] := "{u+00aa}"         ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
 cmpRingAbove["-"] := "{u+00ba}"     ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
 cmpDotAbove["3"] := "{u+2026}"      ; (…) horizontal ellipsis
 cmpArrow["-"] := "{u+00aa}"         ; (ª) feminine ordinal indicator (Spanish, Portuguese, Italian, Galician)
 cmpRingAbove["-"] := "{u+00ba}"     ; (º) masculine ordinal indicator (Spanish, Portuguese, Italian, Galician)
@@ -1007,6 +983,26 @@ cmpGreaterThan["+"] := "{u+2a7e}"   ; (⩾) greater-than or slanted equal to
 cmpTilde["~"] := "{u+2248}"         ; (≈) almost equal to
 
 
 cmpTilde["~"] := "{u+2248}"         ; (≈) almost equal to
 
 
+; Compose :  Bullets and Small Geometric Shapes (;)
+
+global cmpSemicolon := Map()
+cmpSemicolon["b"] := "{u+2022}"  ; (•) bullet
+cmpSemicolon["o"] := "{u+25e6}"  ; (◦) white bullet
+cmpSemicolon["h"] := "{u+2043}"  ; (⁃) hyphen bullet
+cmpSemicolon["t"] := "{u+2023}"  ; (‣) triangular bullet
+cmpSemicolon["q"] := "{u+25aa}"  ; (▪) black small square
+cmpSemicolon["u"] := "{u+25ab}"  ; (▫) white small square
+cmpSemicolon["w"] := "{u+25b4}"  ; (▴) black up-pointing small triangle
+cmpSemicolon["a"] := "{u+25c2}"  ; (◂) black left-pointing small triangle
+cmpSemicolon["s"] := "{u+25be}"  ; (▾) black down-pointing small triangle
+cmpSemicolon["d"] := "{u+25b8}"  ; (▸) black right-pointing small triangle
+cmpSemicolon["i"] := "{u+25b5}"  ; (▵) white up-pointing small triangle
+cmpSemicolon["j"] := "{u+25c3}"  ; (◃) white left-pointing small triangle
+cmpSemicolon["k"] := "{u+25bf}"  ; (▿) white down-pointing small triangle
+cmpSemicolon["l"] := "{u+25b9}"  ; (▹) white right-pointing small triangle
+cmpSemicolon[";"] := "{u+2022}"  ; (•) bullet
+
+
 ; Compose :  Vulgar Fractions
 
 global cmpDigitOne := Map()
 ; Compose :  Vulgar Fractions
 
 global cmpDigitOne := Map()
@@ -1046,6 +1042,7 @@ cmpCedillaOgonek[chr(34)] := "{u+201e}"  ; („) double low-9 quotation mark
 cmpDiaeresis[","] := "{u+201e}"          ; („) double low-9 quotation mark
 cmpCedillaOgonek["'"] := "{u+201a}"      ; (‚) single low-9 quotation mark
 cmpAcuteAccent[","] := "{u+201a}"        ; (‚) single low-9 quotation mark
 cmpDiaeresis[","] := "{u+201e}"          ; („) double low-9 quotation mark
 cmpCedillaOgonek["'"] := "{u+201a}"      ; (‚) single low-9 quotation mark
 cmpAcuteAccent[","] := "{u+201a}"        ; (‚) single low-9 quotation mark
+cmpCedillaOgonek[","] := "{u+201a}"      ; (‚) single low-9 quotation mark
 cmpDiaeresis["["] := "{u+201c}"          ; (“) left double quotation mark
 cmpBracketLeft[chr(34)] := "{u+201c}"    ; (“) left double quotation mark
 cmpDiaeresis["]"] := "{u+201d}"          ; (”) right double quotation mark
 cmpDiaeresis["["] := "{u+201c}"          ; (“) left double quotation mark
 cmpBracketLeft[chr(34)] := "{u+201c}"    ; (“) left double quotation mark
 cmpDiaeresis["]"] := "{u+201d}"          ; (”) right double quotation mark
@@ -1274,6 +1271,8 @@ cmpDigitTwo["s"] := "{u+2691}"  ; (⚑) black flag
 cmpDigitTwo["t"] := "{u+26a0}"  ; (⚠) warning sign
 cmpDigitTwo["u"] := "{u+26a1}"  ; (⚡) high voltage sign
 cmpDigitTwo["v"] := "{u+26d4}"  ; (⛔) no entry
 cmpDigitTwo["t"] := "{u+26a0}"  ; (⚠) warning sign
 cmpDigitTwo["u"] := "{u+26a1}"  ; (⚡) high voltage sign
 cmpDigitTwo["v"] := "{u+26d4}"  ; (⛔) no entry
+cmpDigitTwo["w"] := "{u+231a}"  ; (⌚) watch
+cmpDigitTwo["x"] := "{u+231b}"  ; (⌛) hourglass
 
 cmpDigitThree["a"] := "{u+2701}"  ; (✁) upper blade scissors
 cmpDigitThree["b"] := "{u+2702}"  ; (✂) black scissors
 
 cmpDigitThree["a"] := "{u+2701}"  ; (✁) upper blade scissors
 cmpDigitThree["b"] := "{u+2702}"  ; (✂) black scissors
@@ -1886,14 +1885,16 @@ cmpSmallN["0"] := "{u+277f}"  ; (❿) dingbat negative circled digit 10
 >!/::Send "{u+00bf}"   ; (¿) inverted question mark
 >!?::Send "{u+2026}"   ; (…) horizontal ellipsis
 
 >!/::Send "{u+00bf}"   ; (¿) inverted question mark
 >!?::Send "{u+2026}"   ; (…) horizontal ellipsis
 
->!space::Send "{u+00a0}"   ; non-breaking space (NBSP)
->!+space::Send "{u+00a0}"  ; non-breaking space (NBSP)
+>!space::Send "{u+00a0}"   ;     non-breaking space (NBSP)
+>!+space::Send "{u+2022}"  ; (•) bullet
 
 
 ; Configuration :  Compose Key Selector
 
 >!`::
 
 
 ; Configuration :  Compose Key Selector
 
 >!`::
->!sc056:: {
+>!~::
+>!sc056::
+>!+sc056:: {
   ihA := InputHook("L1", gEndKeys)
   ihA.Start()
   ihA.Wait()
   ihA := InputHook("L1", gEndKeys)
   ihA.Start()
   ihA.Wait()
@@ -2058,10 +2059,6 @@ cmpSmallN["0"] := "{u+277f}"  ; (❿) dingbat negative circled digit 10
     if cmpCapitalP.Has(ihB.Input)
       Send cmpCapitalP[ihB.Input]
   }
     if cmpCapitalP.Has(ihB.Input)
       Send cmpCapitalP[ihB.Input]
   }
-  else if (ihA.Input == ";") {
-    if cmpSemicolon.Has(ihB.Input)
-      Send cmpSemicolon[ihB.Input]
-  }
   else if (ihA.Input == "*") {
     if cmpAsterisk.Has(ihB.Input)
       Send cmpAsterisk[ihB.Input]
   else if (ihA.Input == "*") {
     if cmpAsterisk.Has(ihB.Input)
       Send cmpAsterisk[ihB.Input]
@@ -2098,6 +2095,10 @@ cmpSmallN["0"] := "{u+277f}"  ; (❿) dingbat negative circled digit 10
     if cmpGreaterThan.Has(ihB.Input)
       Send cmpGreaterThan[ihB.Input]
   }
     if cmpGreaterThan.Has(ihB.Input)
       Send cmpGreaterThan[ihB.Input]
   }
+  else if (ihA.Input == ";") {
+    if cmpSemicolon.Has(ihB.Input)
+      Send cmpSemicolon[ihB.Input]
+  }
   else if (ihA.Input == "1") {
     if cmpDigitOne.Has(ihB.Input)
       Send cmpDigitOne[ihB.Input]
   else if (ihA.Input == "1") {
     if cmpDigitOne.Has(ihB.Input)
       Send cmpDigitOne[ihB.Input]